home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 #2 / Ham Radio 2000 - Volume 2.iso / HAMV2 / MISC / HCAL-27 / SPEEDTD.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1995-11-06  |  2.4 KB  |  99 lines

  1. 10  'SPEEDTD - Speed, Time & Distance - 13 SEP 86 rev. 06 NOV 95
  2. 20  IF EX$=""THEN EX$="EXIT"
  3. 30  CLS:KEY OFF
  4. 40  L$=STRING$(80,205)
  5. 50  P$="#########,###.###"
  6. 60  '
  7. 70  '.....start
  8. 80  CLS
  9. 90  S=0:T=0:D=0
  10. 100  COLOR 15,1,5
  11. 110  PRINT " SPEED, TIME & DISTANCE";TAB(61)"by George C. Murphy ";
  12. 120  COLOR 5,0:PRINT STRING$(80,223);
  13. 130  COLOR 7,0
  14. 140  PRINT " Press number in < > to:"
  15. 150  PRINT L$;
  16. 160  PRINT "  < 1 >  RUN program"
  17. 170  PRINT "  < 0 >  EXIT"
  18. 180  Z$=INKEY$:IF Z$="0"THEN CLS:RUN EX$
  19. 190  IF Z$="1"THEN 200 ELSE 180
  20. 200  GOSUB 540
  21. 210  PRINT " Press letter in < > to select Unit of Distance:"
  22. 220  PRINT L$;
  23. 230  PRINT "   < a >  Millimetre"
  24. 240  PRINT "   < b >  Centimetre"
  25. 250  PRINT "   < c >  Inch"
  26. 260  PRINT "   < d >  Foot"
  27. 270  PRINT "   < e >  Metre"
  28. 280  PRINT "   < f >  Kilometre"
  29. 290  PRINT "   < g >  Statute mile"
  30. 300  PRINT "   < h >  Nautical mile"
  31. 310  Z$=INKEY$:IF Z$=""THEN 310
  32. 320  IF Z$="a"THEN D$="mm."
  33. 330  IF Z$="b"THEN D$="cm."
  34. 340  IF Z$="c"THEN D$="in."
  35. 350  IF Z$="d"THEN D$="ft."
  36. 360  IF Z$="e"THEN D$="m."
  37. 370  IF Z$="f"THEN D$="km."
  38. 380  IF Z$="g"THEN D$="stat.miles."
  39. 390  IF Z$="h"THEN D$="naut.miles."
  40. 400  IF ASC(Z$)>=97 AND ASC(Z$)<=104 THEN 420
  41. 410  GOTO 310
  42. 420  PRINT L$;
  43. 430  PRINT " Press letter in < > to select unit of time:"
  44. 440  PRINT L$;
  45. 450  PRINT "   < h >  Hour"
  46. 460  PRINT "   < m >  Minute"
  47. 470  PRINT "   < s >  Second"
  48. 480  Z$=INKEY$:IF Z$="h"THEN T$="hr.":GOTO 520
  49. 490  IF Z$="m"THEN T$="min.":GOTO 520
  50. 500  IF Z$="s"THEN T$="sec.":GOTO 520
  51. 510  GOTO 480
  52. 520  GOSUB 540:GOTO 580
  53. 530  '
  54. 540  FOR I=3 TO CSRLIN:LOCATE I:PRINT STRING$(80,32);:NEXT I:LOCATE 3:RETURN
  55. 550  '
  56. 560  PRINT " ENTER: ";STRING$(30,"."):RETURN
  57. 570  '
  58. 580  IF D THEN 620
  59. 590  GOSUB 560:LOCATE CSRLIN-1,9:PRINT "Distance (";D$;")";
  60. 600  LOCATE CSRLIN,41:INPUT D
  61. 610  IF D THEN IF S+T THEN 720
  62. 620  IF S THEN 660
  63. 630  GOSUB 560:LOCATE CSRLIN-1,9:PRINT "Speed (";D$;"/";T$;")";
  64. 640  LOCATE CSRLIN,41:INPUT S
  65. 650  IF S THEN IF D+T THEN 720
  66. 660  IF T THEN 580
  67. 670  GOSUB 560:LOCATE CSRLIN-1,9:PRINT "Time (";T$;")";
  68. 680  LOCATE CSRLIN,41:INPUT T
  69. 690  IF T THEN IF D+S THEN 720
  70. 700  GOTO 580
  71. 710  '
  72. 720  IF D*S THEN T=D/S:GOTO 750
  73. 730  IF D*T THEN S=D/T:GOTO 750
  74. 740  IF S*T THEN D=S*T:GOTO 750
  75. 750  IF T$="sec." THEN TS=T:TM=T/60:TH=T/3600:GOTO 780
  76. 760  IF T$="min." THEN TS=T*60:TM=T:TH=T/60:GOTO 780
  77. 770  IF T$="hr."  THEN TS=T*3600:TM=T*60:TH=T:GOTO 780
  78. 780  GOSUB 540:LOCATE 3
  79. 790  HR=INT(TS/3600):BAL=TS-HR*3600
  80. 800  MIN=INT(BAL/60):SEC=BAL-MIN*60
  81. 810  SIC=INT(SEC):BAL=SEC-SIC
  82. 820  MIN$=RIGHT$(STR$(MIN),LEN(STR$(MIN))-1)
  83. 830  IF LEN(MIN$)<2 THEN MIN$="0"+MIN$:GOTO 830
  84. 840  SIC$=RIGHT$(STR$(SIC),LEN(STR$(SIC))-1)
  85. 850  IF LEN(SIC$)<2 THEN SIC$="0"+SIC$:GOTO 850
  86. 860  PRINT " SPEED";USING P$;S;:PRINT " ";D$;"/";T$
  87. 870  PRINT L$;
  88. 880  PRINT " TIME ";USING "#########,###";HR;
  89. 890  PRINT ":";MIN$;":";SIC$;
  90. 900  PRINT USING ".###";BAL
  91. 910  PRINT "     =";USING P$;TH;:PRINT " hr.
  92. 920  PRINT "     =";USING P$;TM;:PRINT " min.
  93. 930  PRINT "     =";USING P$;TS;:PRINT " sec.
  94. 940  PRINT L$;
  95. 950  PRINT " DIST.";USING P$;D;:PRINT " ";D$
  96. 960  PRINT L$;
  97. 970  PRINT " Press any key to return to menu......
  98. 980  IF INKEY$=""THEN 980 ELSE 10
  99.